Endpoints, such as multimedia user interfaces that can be communicated with over a network, can vary greatly in their capabilities. Because of this variability, when such endpoints are interconnected in a video call or multi party video conference, for example, scarce resources can be wasted encoding and transmitting a video stream with much higher quality or resolution than the distant user wishes to display or his endpoint is capable of rendering. Such scarce resources include bandwidth, which is consumed in the interconnecting shared packet network and or endpoint network connections (e.g. wireless connections, such a WiFi, cellular networks, or the like).
In addition, it is increasingly the case that the multimedia endpoint function, such as video endpoint function, is implemented on a personal computer device, or portable or handheld device (e.g. laptop, cellular device, etc.) on which the user(s) are running other applications (e.g. browsers, word processors, presentations, cellular based applications, location based applications, etc.).
In such cases scarce computational power and memory used in video processing reduce performance of other applications, and vice versa. This may be the case in both the source endpoint and destination endpoints.
For example, high end video endpoints increasingly support high definition video (known as HD or 720p, 1080i, 1080p, etc.). One example of high definition video has a resolution of 1920×1080. However, many legacy video conferencing systems are often limited to a standard known as CIF (Common Intermediate Format), which has a resolution of 352×288, and CIF multiples (e.g. 4CIF, 640×480) and submultiples. Present cellular devices, and other handheld multimedia devices, support a variety of resolutions (e.g. Nokia 176×208).
Of course, in some instances when media is being communicated to and from multiple endpoints, it may be that those multiple endpoint support different resolutions, or at least are configured to provide different resolutions.
Of course a source endpoint might adopt a lowest common denominator and simply transmit a the lowest accommodated video quality to all further endpoints. But this means users at destination endpoints, who may desire better quality suffer an unnecessarily poor video experience.
The source endpoint 1 may use a multiple of different encoders for each different resolution. However, multiple encoders has the disadvantage that more computational power is consumed at the source endpoint. Further more, if at a destination endpoint, the user decides to change the resolution (e.g. maximize a video window) it would be then necessary for source and destination endpoints to renegotiate a codec.